package stack;

import java.util.LinkedList;

public class Stack<T> {

    /**
     * 使用linkedList实现堆后进先出
     * */
    private LinkedList<T> list = new LinkedList();


    /**
     * 模拟进栈（先进的存储到最后一个）
     * */
    public void push(T t){
        list.addFirst(t);
    }

    /**
     * 返回最初进的那个
     * */
    public T peek(){
        return list.getFirst();
    }

    /***
     * 删除并返回最后进来一个
     * */
    public T pop(){
        return  list.removeFirst();
    }

    /**
     * 返回此栈是不是空的
     * */
    public boolean isEmpty(){
        return list.isEmpty();
    }

    /**
     * toString
     * */
    @Override
    public String toString() {
        return list.toString();
    }
}
